開始使用NanoGPT專案來做Training,我研究了一下專案的內容,發現雖然NanoGPT是以教學為導向的但是似乎還是有點大,不知道單張顯卡跑不跑得動最小的模型。
不過由於作者專門為那些只是想體驗一下自己訓練GPT的過程的人們提供了一個選擇,那就是像前面的Bigram Language Model訓練一樣,拿Shakespeare文章集來訓練一個字元級的GPT。
If you are not a deep learning professional and you just want to feel the magic and get your feet wet, the fastest way to get started is to train a character-level GPT on the works of Shakespeare.
pip install torch numpy transformers datasets tiktoken wandb tqdm
python data/shakespeare_char/prepare.py
If you peek inside it, you'll see that we're training a GPT with a context size of up to 256 characters, 384 feature channels, and it is a 6-layer Transformer with 6 heads in each layer.
python train.py config/train_shakespeare_char.py
python sample.py --out_dir=out-shakespeare-char
明天除了試著用OpenWebText訓練以外(NanoGPT正規使用的文本內容),我也想做個練習用的實驗,自己產生一個訓練集,字典內容是0123456789.()+-*/=
,因為可以無限生成數據,看GPT是否能夠學會讀文字做加減乘除並且考慮到括號以及先乘除後加減的規則。不過今天有點忙來不及弄,明天再弄。